Hi SJH,
That sounds clever.
I don't exactly see how a simple list of X,Y,Z points can define an obstruction. Seems like it would need to define the top of a 3D rectangular block Maybe 3 or 4 xy points and a height? Anyways I'll assume you figured something out that would work.
It seems to me another problem could be a move from a legal position to another legal position still causing a crash.
With KMotionCNC the Soft Limits are implemented in a two fold approach. #1 KMotionCNC uploads the Soft Limits at the beginning of a Job and flags any move that would move into the limits to prevent the motion from starting in the first place. #2 KFLOP monitors the real time commanded destinations and FeedHolds on any destination inside the Soft Limits and currently moving further into the Soft Limit.
The "map" would have to be incorporated directly into KMotionCNC for the preventative nature of #1 to work properly.
So I think it would be simplest to just leave Soft Limits at the full extents, and have your monitor program running in KFLOP perform the FeedHold itself.
On a related issue you might want to factor in velocity Our Soft Limits only trip Feedhold after the limit has been exceeded. We haven't yet figured out a simple way to factor in current velocity and current acceleration and the velocity, acceleration, and jerk limitations to determine that the axis is at a point where it would necessarily enter the Soft Limits at some point in the future (can you think of a fast way to do this?). If you are running as a separate Thread then calculation time might not be as critical and you could afford to do this.
Regards
TK
Group: DynoMotion |
Message: 11442 |
From: Hardy Family |
Date: 4/25/2015 |
Subject: Re: Dynamic soft limits |